
// #ifndef VUE3
import Vue from 'vue'
import App from './App'
import store from './store/store.js'
import { $http } from '@escook/request-miniprogram'
// uni是顶级对象，挂载到顶级对象下次可以全局使用$http
uni.$http = $http
// 配置请求根路径
$http.baseUrl = 'https://api-hmugo-web.itheima.net'

// 请求开始之前做一些事情   请求拦截器展示loading
$http.beforeRequest = function (options) {
  uni.showLoading({
    title: '数据加载中...',
  })
  // 判断请求的是否为有权限的 API 接口
    if (options.url.indexOf('/my/') !== -1) {
      // 为请求头添加身份认证字段
      options.header = {
        // 字段的值可以直接从 vuex 中进行获取
        Authorization: store.state.m_user.token,
      }
    }
}

// 请求完成之后做一些事情   响应拦截器请求完成关闭loading
$http.afterRequest = function () {
  uni.hideLoading({})
}

// 封装提示消息的方法  并赋予传递的初值，如果有实参就会覆盖初值  挂载到uni上全局可用
uni.$showMsg = function (title = '数据加载失败！', duration =1500) {
  uni.showToast({
    title,
    duration,
    icon: 'none',
  })
}

Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
    ...App,
    // 把store挂载到Vue实例上，之后就可以this.$store
    store,
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
import App from './App.vue'
export function createApp() {
  const app = createSSRApp(App)
  return {
    app
  }
}
// #endif